package com.autohome.wz.business.order.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class Refund implements Serializable {
    private Integer id;

    private String relOrdernum;

    private String relSubordernum;

    private BigDecimal amount;

    private String tradeNo;

    private String billId;

    private String additionalInfo;

    private Date createTime;

    private Date finishedTime;

    private String remark;

    private String reason;

    private Integer status;

    private String submitParam;

    private String notifyParam;

    private String applicationUser;

    private String refundTradeNo;

    private String orderRestoreCopy;

    private Date execTime;

    private String lastAbortOper;

    private Date lastAbortTime;

    private Integer retry;

    private Integer type;

    private Integer orderId;

    private Integer orderDetailId;

    private Integer refundCouponSettleId;

    private Integer refundDiscountSettleId;

    private String relObjId;

    private Integer datatype;

    private Long updatetimestamp;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getRelOrdernum() {
        return relOrdernum;
    }

    public void setRelOrdernum(String relOrdernum) {
        this.relOrdernum = relOrdernum == null ? null : relOrdernum.trim();
    }

    public String getRelSubordernum() {
        return relSubordernum;
    }

    public void setRelSubordernum(String relSubordernum) {
        this.relSubordernum = relSubordernum == null ? null : relSubordernum.trim();
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo == null ? null : tradeNo.trim();
    }

    public String getBillId() {
        return billId;
    }

    public void setBillId(String billId) {
        this.billId = billId == null ? null : billId.trim();
    }

    public String getAdditionalInfo() {
        return additionalInfo;
    }

    public void setAdditionalInfo(String additionalInfo) {
        this.additionalInfo = additionalInfo == null ? null : additionalInfo.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getFinishedTime() {
        return finishedTime;
    }

    public void setFinishedTime(Date finishedTime) {
        this.finishedTime = finishedTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason == null ? null : reason.trim();
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getSubmitParam() {
        return submitParam;
    }

    public void setSubmitParam(String submitParam) {
        this.submitParam = submitParam == null ? null : submitParam.trim();
    }

    public String getNotifyParam() {
        return notifyParam;
    }

    public void setNotifyParam(String notifyParam) {
        this.notifyParam = notifyParam == null ? null : notifyParam.trim();
    }

    public String getApplicationUser() {
        return applicationUser;
    }

    public void setApplicationUser(String applicationUser) {
        this.applicationUser = applicationUser == null ? null : applicationUser.trim();
    }

    public String getRefundTradeNo() {
        return refundTradeNo;
    }

    public void setRefundTradeNo(String refundTradeNo) {
        this.refundTradeNo = refundTradeNo == null ? null : refundTradeNo.trim();
    }

    public String getOrderRestoreCopy() {
        return orderRestoreCopy;
    }

    public void setOrderRestoreCopy(String orderRestoreCopy) {
        this.orderRestoreCopy = orderRestoreCopy == null ? null : orderRestoreCopy.trim();
    }

    public Date getExecTime() {
        return execTime;
    }

    public void setExecTime(Date execTime) {
        this.execTime = execTime;
    }

    public String getLastAbortOper() {
        return lastAbortOper;
    }

    public void setLastAbortOper(String lastAbortOper) {
        this.lastAbortOper = lastAbortOper == null ? null : lastAbortOper.trim();
    }

    public Date getLastAbortTime() {
        return lastAbortTime;
    }

    public void setLastAbortTime(Date lastAbortTime) {
        this.lastAbortTime = lastAbortTime;
    }

    public Integer getRetry() {
        return retry;
    }

    public void setRetry(Integer retry) {
        this.retry = retry;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public Integer getOrderDetailId() {
        return orderDetailId;
    }

    public void setOrderDetailId(Integer orderDetailId) {
        this.orderDetailId = orderDetailId;
    }

    public Integer getRefundCouponSettleId() {
        return refundCouponSettleId;
    }

    public void setRefundCouponSettleId(Integer refundCouponSettleId) {
        this.refundCouponSettleId = refundCouponSettleId;
    }

    public Integer getRefundDiscountSettleId() {
        return refundDiscountSettleId;
    }

    public void setRefundDiscountSettleId(Integer refundDiscountSettleId) {
        this.refundDiscountSettleId = refundDiscountSettleId;
    }

    public String getRelObjId() {
        return relObjId;
    }

    public void setRelObjId(String relObjId) {
        this.relObjId = relObjId == null ? null : relObjId.trim();
    }

    public Integer getDatatype() {
        return datatype;
    }

    public void setDatatype(Integer datatype) {
        this.datatype = datatype;
    }

    public Long getUpdatetimestamp() {
        return updatetimestamp;
    }

    public void setUpdatetimestamp(Long updatetimestamp) {
        this.updatetimestamp = updatetimestamp;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Refund other = (Refund) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getRelOrdernum() == null ? other.getRelOrdernum() == null : this.getRelOrdernum().equals(other.getRelOrdernum()))
            && (this.getRelSubordernum() == null ? other.getRelSubordernum() == null : this.getRelSubordernum().equals(other.getRelSubordernum()))
            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
            && (this.getTradeNo() == null ? other.getTradeNo() == null : this.getTradeNo().equals(other.getTradeNo()))
            && (this.getBillId() == null ? other.getBillId() == null : this.getBillId().equals(other.getBillId()))
            && (this.getAdditionalInfo() == null ? other.getAdditionalInfo() == null : this.getAdditionalInfo().equals(other.getAdditionalInfo()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getFinishedTime() == null ? other.getFinishedTime() == null : this.getFinishedTime().equals(other.getFinishedTime()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getReason() == null ? other.getReason() == null : this.getReason().equals(other.getReason()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getSubmitParam() == null ? other.getSubmitParam() == null : this.getSubmitParam().equals(other.getSubmitParam()))
            && (this.getNotifyParam() == null ? other.getNotifyParam() == null : this.getNotifyParam().equals(other.getNotifyParam()))
            && (this.getApplicationUser() == null ? other.getApplicationUser() == null : this.getApplicationUser().equals(other.getApplicationUser()))
            && (this.getRefundTradeNo() == null ? other.getRefundTradeNo() == null : this.getRefundTradeNo().equals(other.getRefundTradeNo()))
            && (this.getOrderRestoreCopy() == null ? other.getOrderRestoreCopy() == null : this.getOrderRestoreCopy().equals(other.getOrderRestoreCopy()))
            && (this.getExecTime() == null ? other.getExecTime() == null : this.getExecTime().equals(other.getExecTime()))
            && (this.getLastAbortOper() == null ? other.getLastAbortOper() == null : this.getLastAbortOper().equals(other.getLastAbortOper()))
            && (this.getLastAbortTime() == null ? other.getLastAbortTime() == null : this.getLastAbortTime().equals(other.getLastAbortTime()))
            && (this.getRetry() == null ? other.getRetry() == null : this.getRetry().equals(other.getRetry()))
            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
            && (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(other.getOrderId()))
            && (this.getOrderDetailId() == null ? other.getOrderDetailId() == null : this.getOrderDetailId().equals(other.getOrderDetailId()))
            && (this.getRefundCouponSettleId() == null ? other.getRefundCouponSettleId() == null : this.getRefundCouponSettleId().equals(other.getRefundCouponSettleId()))
            && (this.getRefundDiscountSettleId() == null ? other.getRefundDiscountSettleId() == null : this.getRefundDiscountSettleId().equals(other.getRefundDiscountSettleId()))
            && (this.getRelObjId() == null ? other.getRelObjId() == null : this.getRelObjId().equals(other.getRelObjId()))
            && (this.getDatatype() == null ? other.getDatatype() == null : this.getDatatype().equals(other.getDatatype()))
            && (this.getUpdatetimestamp() == null ? other.getUpdatetimestamp() == null : this.getUpdatetimestamp().equals(other.getUpdatetimestamp()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getRelOrdernum() == null) ? 0 : getRelOrdernum().hashCode());
        result = prime * result + ((getRelSubordernum() == null) ? 0 : getRelSubordernum().hashCode());
        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
        result = prime * result + ((getTradeNo() == null) ? 0 : getTradeNo().hashCode());
        result = prime * result + ((getBillId() == null) ? 0 : getBillId().hashCode());
        result = prime * result + ((getAdditionalInfo() == null) ? 0 : getAdditionalInfo().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getFinishedTime() == null) ? 0 : getFinishedTime().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getReason() == null) ? 0 : getReason().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getSubmitParam() == null) ? 0 : getSubmitParam().hashCode());
        result = prime * result + ((getNotifyParam() == null) ? 0 : getNotifyParam().hashCode());
        result = prime * result + ((getApplicationUser() == null) ? 0 : getApplicationUser().hashCode());
        result = prime * result + ((getRefundTradeNo() == null) ? 0 : getRefundTradeNo().hashCode());
        result = prime * result + ((getOrderRestoreCopy() == null) ? 0 : getOrderRestoreCopy().hashCode());
        result = prime * result + ((getExecTime() == null) ? 0 : getExecTime().hashCode());
        result = prime * result + ((getLastAbortOper() == null) ? 0 : getLastAbortOper().hashCode());
        result = prime * result + ((getLastAbortTime() == null) ? 0 : getLastAbortTime().hashCode());
        result = prime * result + ((getRetry() == null) ? 0 : getRetry().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode());
        result = prime * result + ((getOrderDetailId() == null) ? 0 : getOrderDetailId().hashCode());
        result = prime * result + ((getRefundCouponSettleId() == null) ? 0 : getRefundCouponSettleId().hashCode());
        result = prime * result + ((getRefundDiscountSettleId() == null) ? 0 : getRefundDiscountSettleId().hashCode());
        result = prime * result + ((getRelObjId() == null) ? 0 : getRelObjId().hashCode());
        result = prime * result + ((getDatatype() == null) ? 0 : getDatatype().hashCode());
        result = prime * result + ((getUpdatetimestamp() == null) ? 0 : getUpdatetimestamp().hashCode());
        return result;
    }
}